↳ ITRS
↳ ITRStoQTRSProof
z
cond(TRUE, x, y) → +@z(1@z, minus(x, +@z(y, 1@z)))
min(u, v) → if(<@z(u, v), u, v)
if(FALSE, u, v) → v
if(TRUE, u, v) → u
minus(x, x) → 0@z
minus(x, y) → cond(=@z(min(x, y), y), x, y)
cond(TRUE, x0, x1)
min(x0, x1)
if(FALSE, x0, x1)
if(TRUE, x0, x1)
minus(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, x, y) → PLUS_INT(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
COND(true, x, y) → PLUS_INT(pos(s(0)), y)
MIN(u, v) → IF(less_int(u, v), u, v)
MIN(u, v) → LESS_INT(u, v)
MINUS(x, y) → COND(equal_int(min(x, y), y), x, y)
MINUS(x, y) → EQUAL_INT(min(x, y), y)
MINUS(x, y) → MIN(x, y)
PLUS_INT(pos(x), neg(y)) → MINUS_NAT(x, y)
PLUS_INT(neg(x), pos(y)) → MINUS_NAT(y, x)
PLUS_INT(neg(x), neg(y)) → PLUS_NAT(x, y)
PLUS_INT(pos(x), pos(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
LESS_INT(pos(s(x)), pos(s(y))) → LESS_INT(pos(x), pos(y))
LESS_INT(neg(s(x)), neg(s(y))) → LESS_INT(neg(x), neg(y))
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
COND(true, x, y) → PLUS_INT(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
COND(true, x, y) → PLUS_INT(pos(s(0)), y)
MIN(u, v) → IF(less_int(u, v), u, v)
MIN(u, v) → LESS_INT(u, v)
MINUS(x, y) → COND(equal_int(min(x, y), y), x, y)
MINUS(x, y) → EQUAL_INT(min(x, y), y)
MINUS(x, y) → MIN(x, y)
PLUS_INT(pos(x), neg(y)) → MINUS_NAT(x, y)
PLUS_INT(neg(x), pos(y)) → MINUS_NAT(y, x)
PLUS_INT(neg(x), neg(y)) → PLUS_NAT(x, y)
PLUS_INT(pos(x), pos(y)) → PLUS_NAT(x, y)
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
LESS_INT(pos(s(x)), pos(s(y))) → LESS_INT(pos(x), pos(y))
LESS_INT(neg(s(x)), neg(s(y))) → LESS_INT(neg(x), neg(y))
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
No rules are removed from R.
EQUAL_INT(neg(s(x)), neg(s(y))) → EQUAL_INT(neg(x), neg(y))
POL(EQUAL_INT(x1, x2)) = 2·x1 + x2
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
No rules are removed from R.
EQUAL_INT(pos(s(x)), pos(s(y))) → EQUAL_INT(pos(x), pos(y))
POL(EQUAL_INT(x1, x2)) = 2·x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
LESS_INT(neg(s(x)), neg(s(y))) → LESS_INT(neg(x), neg(y))
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
LESS_INT(neg(s(x)), neg(s(y))) → LESS_INT(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
LESS_INT(neg(s(x)), neg(s(y))) → LESS_INT(neg(x), neg(y))
No rules are removed from R.
LESS_INT(neg(s(x)), neg(s(y))) → LESS_INT(neg(x), neg(y))
POL(LESS_INT(x1, x2)) = 2·x1 + x2
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
LESS_INT(pos(s(x)), pos(s(y))) → LESS_INT(pos(x), pos(y))
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
LESS_INT(pos(s(x)), pos(s(y))) → LESS_INT(pos(x), pos(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ QDP
LESS_INT(pos(s(x)), pos(s(y))) → LESS_INT(pos(x), pos(y))
No rules are removed from R.
LESS_INT(pos(s(x)), pos(s(y))) → LESS_INT(pos(x), pos(y))
POL(LESS_INT(x1, x2)) = 2·x1 + x2
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ QDP
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
↳ QDP
MINUS_NAT(s(x), s(y)) → MINUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPSizeChangeProof
↳ QDP
PLUS_NAT(s(x), y) → PLUS_NAT(x, y)
From the DPs we obtained the following set of size-change graphs:
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(min(x, y), y), x, y)
cond(true, x, y) → plus_int(pos(s(0)), minus(x, plus_int(pos(s(0)), y)))
min(u, v) → if(less_int(u, v), u, v)
if(false, u, v) → v
if(true, u, v) → u
minus(x, x) → pos(0)
minus(x, y) → cond(equal_int(min(x, y), y), x, y)
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(neg(x), pos(y)) → minus_nat(y, x)
plus_int(neg(x), neg(y)) → neg(plus_nat(x, y))
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(min(x, y), y), x, y)
min(u, v) → if(less_int(u, v), u, v)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
minus(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(min(x, y), y), x, y)
min(u, v) → if(less_int(u, v), u, v)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(x, y) → COND(equal_int(if(less_int(x, y), x, y), y), x, y)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(if(less_int(x, y), x, y), y), x, y)
min(u, v) → if(less_int(u, v), u, v)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(if(less_int(x, y), x, y), y), x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
min(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(if(less_int(x, y), x, y), y), x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ QDP
↳ RemovalProof
↳ Narrowing
↳ UsableRulesProof
COND(true, x, y, x_removed) → MINUS(x, plus_int(x_removed, y), x_removed)
MINUS(x, y, x_removed) → COND(equal_int(if(less_int(x, y), x, y), y), x, y, x_removed)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND(true, x, y, x_removed) → MINUS(x, plus_int(x_removed, y), x_removed)
MINUS(x, y, x_removed) → COND(equal_int(if(less_int(x, y), x, y), y), x, y, x_removed)
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), pos(s(x0))) → COND(equal_int(if(true, neg(0), pos(s(x0))), pos(s(x0))), neg(0), pos(s(x0)))
MINUS(neg(0), pos(0)) → COND(equal_int(if(false, neg(0), pos(0)), pos(0)), neg(0), pos(0))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(if(true, neg(s(x0)), pos(0)), pos(0)), neg(s(x0)), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(0), pos(s(x0))) → COND(equal_int(if(true, neg(0), pos(s(x0))), pos(s(x0))), neg(0), pos(s(x0)))
MINUS(neg(0), pos(0)) → COND(equal_int(if(false, neg(0), pos(0)), pos(0)), neg(0), pos(0))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(if(true, neg(s(x0)), pos(0)), pos(0)), neg(s(x0)), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(0), pos(s(x0))) → COND(equal_int(if(true, neg(0), pos(s(x0))), pos(s(x0))), neg(0), pos(s(x0)))
MINUS(neg(0), pos(0)) → COND(equal_int(if(false, neg(0), pos(0)), pos(0)), neg(0), pos(0))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(if(true, neg(s(x0)), pos(0)), pos(0)), neg(s(x0)), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), pos(s(x0))) → COND(equal_int(neg(0), pos(s(x0))), neg(0), pos(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(0), pos(0)) → COND(equal_int(if(false, neg(0), pos(0)), pos(0)), neg(0), pos(0))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(if(true, neg(s(x0)), pos(0)), pos(0)), neg(s(x0)), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(s(x0))) → COND(equal_int(neg(0), pos(s(x0))), neg(0), pos(s(x0)))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
MINUS(neg(0), pos(0)) → COND(equal_int(if(false, neg(0), pos(0)), pos(0)), neg(0), pos(0))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(if(true, neg(s(x0)), pos(0)), pos(0)), neg(s(x0)), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(if(true, neg(s(x0)), pos(0)), pos(0)), neg(s(x0)), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(neg(s(x0)), pos(0)), neg(s(x0)), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(neg(s(x0)), pos(0)) → COND(equal_int(neg(s(x0)), pos(0)), neg(s(x0)), pos(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(if(false, pos(s(x0)), neg(0)), neg(0)), pos(s(x0)), neg(0))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(0), neg(0)) → COND(equal_int(if(false, neg(0), neg(0)), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(0), neg(0)) → COND(equal_int(if(false, pos(0), neg(0)), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(if(true, pos(0), pos(s(x0))), pos(s(x0))), pos(0), pos(s(x0)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(pos(0), pos(s(x0))), pos(0), pos(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(0), pos(s(x0))) → COND(equal_int(pos(0), pos(s(x0))), pos(0), pos(s(x0)))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(if(false, pos(s(x0)), pos(0)), pos(0)), pos(s(x0)), pos(0))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(if(true, neg(s(x0)), neg(0)), neg(0)), neg(s(x0)), neg(0))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(neg(s(x0)), neg(0)), neg(s(x0)), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(s(x0)), neg(0)) → COND(equal_int(neg(s(x0)), neg(0)), neg(s(x0)), neg(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), neg(0)) → true
equal_int(pos(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(if(false, neg(0), neg(s(x0))), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
equal_int(pos(0), pos(0)) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(if(false, pos(s(x0)), neg(s(x1))), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
equal_int(pos(0), pos(0)) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(if(false, pos(0), neg(s(x0))), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0)) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(if(true, neg(s(x0)), pos(s(x1))), pos(s(x1))), neg(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
equal_int(pos(0), pos(0)) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(neg(s(x0)), pos(s(x1))), neg(s(x0)), pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(neg(s(x0)), pos(s(x1))) → COND(equal_int(neg(s(x0)), pos(s(x1))), neg(s(x0)), pos(s(x1)))
equal_int(pos(0), pos(0)) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(if(false, pos(0), pos(0)), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
equal_int(pos(0), pos(0)) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
equal_int(pos(0), pos(0)) → true
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), pos(0)) → true
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(equal_int(pos(0), pos(0)), neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(s(x0)), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), neg(0)) → COND(equal_int(neg(0), neg(0)), neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(0), neg(0)) → COND(equal_int(neg(0), neg(0)), pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(s(x0)), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(s(x1)), neg(s(x1))), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(s(x0)), neg(s(x0))), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(pos(0), pos(0)) → COND(equal_int(pos(0), pos(0)), pos(0), pos(0))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), pos(0)) → COND(true, pos(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ UsableRulesProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(true, pos(0), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, y0, pos(x1)) → MINUS(y0, pos(plus_nat(s(0), x1)))
COND(true, y0, neg(x1)) → MINUS(y0, minus_nat(s(0), x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), neg(0)) → COND(true, pos(s(x0)), neg(0))
MINUS(neg(0), neg(0)) → COND(true, neg(0), neg(0))
MINUS(pos(0), neg(0)) → COND(true, pos(0), neg(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
MINUS(pos(0), pos(0)) → COND(true, pos(0), pos(0))
COND(true, y0, pos(x1)) → MINUS(y0, pos(plus_nat(s(0), x1)))
COND(true, y0, neg(x1)) → MINUS(y0, minus_nat(s(0), x1))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
COND(true, y0, pos(x1)) → MINUS(y0, pos(plus_nat(s(0), x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(pos(0), pos(0)) → COND(true, pos(0), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesProof
COND(true, y0, pos(x1)) → MINUS(y0, pos(plus_nat(s(0), x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(pos(0), pos(0)) → COND(true, pos(0), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
COND(true, y0, pos(x1)) → MINUS(y0, pos(plus_nat(s(0), x1)))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(pos(0), pos(0)) → COND(true, pos(0), pos(0))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
if(false, x0, x1)
if(true, x0, x1)
plus_nat(0, x0)
plus_nat(s(x0), x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(plus_nat(0, x1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
MINUS(neg(0), pos(0)) → COND(true, neg(0), pos(0))
MINUS(pos(s(x0)), pos(0)) → COND(true, pos(s(x0)), pos(0))
MINUS(pos(0), pos(0)) → COND(true, pos(0), pos(0))
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(plus_nat(0, x1))))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
if(false, x0, x1)
if(true, x0, x1)
plus_nat(0, x0)
plus_nat(s(x0), x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(plus_nat(0, x1))))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
plus_nat(s(x), y) → s(plus_nat(x, y))
plus_nat(0, x) → x
if(false, x0, x1)
if(true, x0, x1)
plus_nat(0, x0)
plus_nat(s(x0), x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(plus_nat(0, x1))))
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
plus_nat(0, x) → x
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_nat(0, x0)
plus_nat(s(x0), x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(x1)))
plus_nat(0, x) → x
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_nat(0, x0)
plus_nat(s(x0), x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(x1)))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
plus_nat(0, x0)
plus_nat(s(x0), x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
COND(true, y0, pos(x1)) → MINUS(y0, pos(s(x1)))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(s(z0)), pos(s(z1))) → MINUS(pos(s(z0)), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), pos(s(x1))) → COND(equal_int(if(less_int(pos(x0), pos(x1)), pos(s(x0)), pos(s(x1))), pos(s(x1))), pos(s(x0)), pos(s(x1)))
COND(true, pos(s(z0)), pos(s(z1))) → MINUS(pos(s(z0)), pos(s(s(z1))))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(z0)), pos(s(s(z1)))) → COND(equal_int(if(less_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1)))), pos(s(s(z1)))), pos(s(z0)), pos(s(s(z1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(z0)), pos(s(z1))) → MINUS(pos(s(z0)), pos(s(s(z1))))
MINUS(pos(s(z0)), pos(s(s(z1)))) → COND(equal_int(if(less_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1)))), pos(s(s(z1)))), pos(s(z0)), pos(s(s(z1))))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(s(z0)), pos(s(s(z1)))) → MINUS(pos(s(z0)), pos(s(s(s(z1)))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(z0)), pos(s(s(z1)))) → COND(equal_int(if(less_int(pos(z0), pos(s(z1))), pos(s(z0)), pos(s(s(z1)))), pos(s(s(z1)))), pos(s(z0)), pos(s(s(z1))))
COND(true, pos(s(z0)), pos(s(s(z1)))) → MINUS(pos(s(z0)), pos(s(s(s(z1)))))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(z0)), pos(s(s(s(z1))))) → COND(equal_int(if(less_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1))))), pos(s(s(s(z1))))), pos(s(z0)), pos(s(s(s(z1)))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ Instantiation
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(z0)), pos(s(s(z1)))) → MINUS(pos(s(z0)), pos(s(s(s(z1)))))
MINUS(pos(s(z0)), pos(s(s(s(z1))))) → COND(equal_int(if(less_int(pos(z0), pos(s(s(z1)))), pos(s(z0)), pos(s(s(s(z1))))), pos(s(s(s(z1))))), pos(s(z0)), pos(s(s(s(z1)))))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND(true, y0, neg(x1)) → MINUS(y0, minus_nat(s(0), x1))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
less_int(pos(0), pos(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(pos(s(x)), pos(0)) → false
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(pos(0), pos(0)) → true
equal_int(pos(s(x)), pos(0)) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND(true, y0, neg(x1)) → MINUS(y0, minus_nat(s(0), x1))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ UsableRulesProof
COND(true, y0, neg(x1)) → MINUS(y0, minus_nat(s(0), x1))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(s(0), s(z0)))
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(s(0), s(z1)))
COND(true, neg(s(z0)), neg(s(z1))) → MINUS(neg(s(z0)), minus_nat(s(0), s(z1)))
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(s(0), s(z0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(s(0), s(z0)))
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(s(0), s(z1)))
COND(true, neg(s(z0)), neg(s(z1))) → MINUS(neg(s(z0)), minus_nat(s(0), s(z1)))
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(s(0), s(z0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(s(0), s(z0)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(s(0), s(z0)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(s(0), s(z0)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(0, z0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(0, z0))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
COND(true, pos(0), neg(s(z0))) → MINUS(pos(0), minus_nat(0, z0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(0), neg(s(s(x0)))) → MINUS(pos(0), neg(s(x0)))
COND(true, pos(0), neg(s(0))) → MINUS(pos(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
COND(true, pos(0), neg(s(s(x0)))) → MINUS(pos(0), neg(s(x0)))
COND(true, pos(0), neg(s(0))) → MINUS(pos(0), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(s(x0)))) → MINUS(pos(0), neg(s(x0)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(s(x0)))) → MINUS(pos(0), neg(s(x0)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(s(x0)))) → MINUS(pos(0), neg(s(x0)))
MINUS(pos(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), pos(0), neg(s(x0)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(s(y_1)))) → COND(equal_int(neg(s(y_1)), neg(s(y_1))), pos(0), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(s(x0)))) → MINUS(pos(0), neg(s(x0)))
MINUS(pos(0), neg(s(s(y_1)))) → COND(equal_int(neg(s(y_1)), neg(s(y_1))), pos(0), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), pos(0), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(s(x0)))) → MINUS(pos(0), neg(s(x0)))
MINUS(pos(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), pos(0), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(0), neg(s(s(s(y_0))))) → MINUS(pos(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), pos(0), neg(s(s(y_1))))
COND(true, pos(0), neg(s(s(s(y_0))))) → MINUS(pos(0), neg(s(s(y_0))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), pos(0), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
POL(0) = 1
POL(COND(x1, x2, x3)) = x1 + x2 + x3
POL(MINUS(x1, x2)) = 1 + 2·x1 + 2·x2
POL(equal_int(x1, x2)) = x1 + 2·x2
POL(false) = 1
POL(neg(x1)) = x1
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
POL(true) = 2
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(0), neg(s(s(s(y_0))))) → MINUS(pos(0), neg(s(s(y_0))))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(s(0), s(z1)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(s(0), s(z1)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(s(0), s(z1)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(0, z1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(0, z1))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
COND(true, pos(s(z0)), neg(s(z1))) → MINUS(pos(s(z0)), minus_nat(0, z1))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(s(y0)), neg(s(s(x0)))) → MINUS(pos(s(y0)), neg(s(x0)))
COND(true, pos(s(y0)), neg(s(0))) → MINUS(pos(s(y0)), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
COND(true, pos(s(y0)), neg(s(s(x0)))) → MINUS(pos(s(y0)), neg(s(x0)))
COND(true, pos(s(y0)), neg(s(0))) → MINUS(pos(s(y0)), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(y0)), neg(s(s(x0)))) → MINUS(pos(s(y0)), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(y0)), neg(s(s(x0)))) → MINUS(pos(s(y0)), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(y0)), neg(s(s(x0)))) → MINUS(pos(s(y0)), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(x1))) → COND(equal_int(neg(x1), neg(x1)), pos(s(x0)), neg(s(x1)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), neg(s(s(y_2)))) → COND(equal_int(neg(s(y_2)), neg(s(y_2))), pos(s(x0)), neg(s(s(y_2))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(y0)), neg(s(s(x0)))) → MINUS(pos(s(y0)), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(s(y_2)))) → COND(equal_int(neg(s(y_2)), neg(s(y_2))), pos(s(x0)), neg(s(s(y_2))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(pos(s(x0)), neg(s(s(y_2)))) → COND(equal_int(neg(y_2), neg(y_2)), pos(s(x0)), neg(s(s(y_2))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ QDP
↳ UsableRulesProof
COND(true, pos(s(y0)), neg(s(s(x0)))) → MINUS(pos(s(y0)), neg(s(x0)))
MINUS(pos(s(x0)), neg(s(s(y_2)))) → COND(equal_int(neg(y_2), neg(y_2)), pos(s(x0)), neg(s(s(y_2))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, pos(s(x0)), neg(s(s(s(y_1))))) → MINUS(pos(s(x0)), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ QDP
↳ UsableRulesProof
MINUS(pos(s(x0)), neg(s(s(y_2)))) → COND(equal_int(neg(y_2), neg(y_2)), pos(s(x0)), neg(s(s(y_2))))
COND(true, pos(s(x0)), neg(s(s(s(y_1))))) → MINUS(pos(s(x0)), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
The following rules are removed from R:
MINUS(pos(s(x0)), neg(s(s(y_2)))) → COND(equal_int(neg(y_2), neg(y_2)), pos(s(x0)), neg(s(s(y_2))))
COND(true, pos(s(x0)), neg(s(s(s(y_1))))) → MINUS(pos(s(x0)), neg(s(s(y_1))))
Used ordering: POLO with Polynomial interpretation [POLO]:
equal_int(neg(0), neg(0)) → true
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
POL(0) = 2
POL(COND(x1, x2, x3)) = 2·x1 + x2 + x3
POL(MINUS(x1, x2)) = 1 + x1 + 2·x2
POL(equal_int(x1, x2)) = x1 + x2
POL(false) = 1
POL(neg(x1)) = x1
POL(pos(x1)) = x1
POL(s(x1)) = 2·x1
POL(true) = 1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesReductionPairsProof
↳ QDP
↳ PisEmptyProof
↳ QDP
↳ QDP
↳ UsableRulesProof
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(s(0), s(z0)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(s(0), s(z0)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(s(0), s(z0)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(0, z0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(0, z0))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(s(x), 0) → pos(s(x))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ UsableRulesProof
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
COND(true, neg(0), neg(s(z0))) → MINUS(neg(0), minus_nat(0, z0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, neg(0), neg(s(s(x0)))) → MINUS(neg(0), neg(s(x0)))
COND(true, neg(0), neg(s(0))) → MINUS(neg(0), pos(0))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
COND(true, neg(0), neg(s(s(x0)))) → MINUS(neg(0), neg(s(x0)))
COND(true, neg(0), neg(s(0))) → MINUS(neg(0), pos(0))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(s(x0)))) → MINUS(neg(0), neg(s(x0)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(s(x0)))) → MINUS(neg(0), neg(s(x0)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(s(x0)))) → MINUS(neg(0), neg(s(x0)))
MINUS(neg(0), neg(s(x0))) → COND(equal_int(neg(x0), neg(x0)), neg(0), neg(s(x0)))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(s(y_1)))) → COND(equal_int(neg(s(y_1)), neg(s(y_1))), neg(0), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(s(x0)))) → MINUS(neg(0), neg(s(x0)))
MINUS(neg(0), neg(s(s(y_1)))) → COND(equal_int(neg(s(y_1)), neg(s(y_1))), neg(0), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), neg(0), neg(s(s(y_1))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(s(x0)))) → MINUS(neg(0), neg(s(x0)))
MINUS(neg(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), neg(0), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, neg(0), neg(s(s(s(y_0))))) → MINUS(neg(0), neg(s(s(y_0))))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ UsableRulesProof
MINUS(neg(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), neg(0), neg(s(s(y_1))))
COND(true, neg(0), neg(s(s(s(y_0))))) → MINUS(neg(0), neg(s(s(y_0))))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
MINUS(neg(0), neg(s(s(y_1)))) → COND(equal_int(neg(y_1), neg(y_1)), neg(0), neg(s(s(y_1))))
equal_int(neg(0), neg(0)) → true
POL(0) = 1
POL(COND(x1, x2, x3)) = x1 + 2·x2 + x3
POL(MINUS(x1, x2)) = 2 + x1 + 2·x2
POL(equal_int(x1, x2)) = x1 + x2
POL(false) = 1
POL(neg(x1)) = x1
POL(s(x1)) = 2·x1
POL(true) = 1
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ Rewriting
↳ QDP
↳ ForwardInstantiation
↳ QDP
↳ MRRProof
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
COND(true, neg(0), neg(s(s(s(y_0))))) → MINUS(neg(0), neg(s(s(y_0))))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ UsableRulesProof
COND(true, neg(s(z0)), neg(s(z1))) → MINUS(neg(s(z0)), minus_nat(s(0), s(z1)))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, neg(s(z0)), neg(s(z1))) → MINUS(neg(s(z0)), minus_nat(0, z1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, neg(s(z0)), neg(s(z1))) → MINUS(neg(s(z0)), minus_nat(0, z1))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(neg(s(x)), neg(0)) → false
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, neg(s(z0)), neg(s(z1))) → MINUS(neg(s(z0)), minus_nat(0, z1))
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
COND(true, neg(s(y0)), neg(s(0))) → MINUS(neg(s(y0)), pos(0))
COND(true, neg(s(y0)), neg(s(s(x0)))) → MINUS(neg(s(y0)), neg(s(x0)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
COND(true, neg(s(y0)), neg(s(0))) → MINUS(neg(s(y0)), pos(0))
COND(true, neg(s(y0)), neg(s(s(x0)))) → MINUS(neg(s(y0)), neg(s(x0)))
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
COND(true, neg(s(y0)), neg(s(s(x0)))) → MINUS(neg(s(y0)), neg(s(x0)))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ UsableRulesProof
COND(true, neg(s(y0)), neg(s(s(x0)))) → MINUS(neg(s(y0)), neg(s(x0)))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPOrderProof
↳ UsableRulesProof
COND(true, neg(s(y0)), neg(s(s(x0)))) → MINUS(neg(s(y0)), neg(s(x0)))
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
The following pairs can be oriented strictly and are deleted.
The remaining pairs can at least be oriented weakly.
COND(true, neg(s(y0)), neg(s(s(x0)))) → MINUS(neg(s(y0)), neg(s(x0)))
Used ordering: Polynomial interpretation [POLO]:
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
POL(0) = 0
POL(COND(x1, x2, x3)) = x2 + x3
POL(MINUS(x1, x2)) = x1 + x2
POL(equal_int(x1, x2)) = 0
POL(false) = 0
POL(if(x1, x2, x3)) = 0
POL(less_int(x1, x2)) = 0
POL(neg(x1)) = x1
POL(pos(x1)) = 0
POL(s(x1)) = 1 + x1
POL(true) = 0
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ RemovalProof
↳ RemovalProof
↳ Narrowing
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Rewriting
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ Instantiation
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ Rewriting
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ Narrowing
↳ QDP
↳ DependencyGraphProof
↳ QDP
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
↳ UsableRulesProof
MINUS(neg(s(x0)), neg(s(x1))) → COND(equal_int(if(less_int(neg(x0), neg(x1)), neg(s(x0)), neg(s(x1))), neg(s(x1))), neg(s(x0)), neg(s(x1)))
less_int(neg(0), neg(0)) → false
less_int(neg(0), neg(s(y))) → false
less_int(neg(s(x)), neg(0)) → true
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(0), neg(0)) → true
equal_int(neg(s(x)), neg(0)) → false
if(false, x0, x1)
if(true, x0, x1)
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(min(x, y), y), x, y)
min(u, v) → if(less_int(u, v), u, v)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
cond(true, x0, x1)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
minus(x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))
cond(true, x0, x1)
minus(x0, x1)
↳ ITRS
↳ ITRStoQTRSProof
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ QDP
↳ UsableRulesProof
↳ UsableRulesProof
↳ QDP
↳ QReductionProof
↳ QDP
COND(true, x, y) → MINUS(x, plus_int(pos(s(0)), y))
MINUS(x, y) → COND(equal_int(min(x, y), y), x, y)
min(u, v) → if(less_int(u, v), u, v)
equal_int(pos(0), pos(0)) → true
equal_int(neg(0), pos(0)) → true
equal_int(neg(0), neg(0)) → true
equal_int(pos(0), neg(0)) → true
equal_int(pos(0), pos(s(y))) → false
equal_int(neg(0), pos(s(y))) → false
equal_int(pos(0), neg(s(y))) → false
equal_int(neg(0), neg(s(y))) → false
equal_int(pos(s(x)), pos(0)) → false
equal_int(pos(s(x)), neg(0)) → false
equal_int(neg(s(x)), pos(0)) → false
equal_int(neg(s(x)), neg(0)) → false
equal_int(pos(s(x)), neg(s(y))) → false
equal_int(neg(s(x)), pos(s(y))) → false
equal_int(pos(s(x)), pos(s(y))) → equal_int(pos(x), pos(y))
equal_int(neg(s(x)), neg(s(y))) → equal_int(neg(x), neg(y))
less_int(pos(0), pos(0)) → false
less_int(pos(0), neg(0)) → false
less_int(neg(0), pos(0)) → false
less_int(neg(0), neg(0)) → false
less_int(pos(0), pos(s(y))) → true
less_int(neg(0), pos(s(y))) → true
less_int(pos(0), neg(s(y))) → false
less_int(neg(0), neg(s(y))) → false
less_int(pos(s(x)), pos(0)) → false
less_int(neg(s(x)), pos(0)) → true
less_int(pos(s(x)), neg(0)) → false
less_int(neg(s(x)), neg(0)) → true
less_int(pos(s(x)), neg(s(y))) → false
less_int(neg(s(x)), pos(s(y))) → true
less_int(pos(s(x)), pos(s(y))) → less_int(pos(x), pos(y))
less_int(neg(s(x)), neg(s(y))) → less_int(neg(x), neg(y))
if(false, u, v) → v
if(true, u, v) → u
plus_int(pos(x), neg(y)) → minus_nat(x, y)
plus_int(pos(x), pos(y)) → pos(plus_nat(x, y))
plus_nat(0, x) → x
plus_nat(s(x), y) → s(plus_nat(x, y))
minus_nat(0, 0) → pos(0)
minus_nat(0, s(y)) → neg(s(y))
minus_nat(s(x), 0) → pos(s(x))
minus_nat(s(x), s(y)) → minus_nat(x, y)
min(x0, x1)
if(false, x0, x1)
if(true, x0, x1)
plus_int(pos(x0), neg(x1))
plus_int(neg(x0), pos(x1))
plus_int(neg(x0), neg(x1))
plus_int(pos(x0), pos(x1))
plus_nat(0, x0)
plus_nat(s(x0), x1)
minus_nat(0, 0)
minus_nat(0, s(x0))
minus_nat(s(x0), 0)
minus_nat(s(x0), s(x1))
less_int(pos(0), pos(0))
less_int(pos(0), neg(0))
less_int(neg(0), pos(0))
less_int(neg(0), neg(0))
less_int(pos(0), pos(s(x0)))
less_int(neg(0), pos(s(x0)))
less_int(pos(0), neg(s(x0)))
less_int(neg(0), neg(s(x0)))
less_int(pos(s(x0)), pos(0))
less_int(neg(s(x0)), pos(0))
less_int(pos(s(x0)), neg(0))
less_int(neg(s(x0)), neg(0))
less_int(pos(s(x0)), neg(s(x1)))
less_int(neg(s(x0)), pos(s(x1)))
less_int(pos(s(x0)), pos(s(x1)))
less_int(neg(s(x0)), neg(s(x1)))
equal_int(pos(0), pos(0))
equal_int(neg(0), pos(0))
equal_int(neg(0), neg(0))
equal_int(pos(0), neg(0))
equal_int(pos(0), pos(s(x0)))
equal_int(neg(0), pos(s(x0)))
equal_int(pos(0), neg(s(x0)))
equal_int(neg(0), neg(s(x0)))
equal_int(pos(s(x0)), pos(0))
equal_int(pos(s(x0)), neg(0))
equal_int(neg(s(x0)), pos(0))
equal_int(neg(s(x0)), neg(0))
equal_int(pos(s(x0)), neg(s(x1)))
equal_int(neg(s(x0)), pos(s(x1)))
equal_int(pos(s(x0)), pos(s(x1)))
equal_int(neg(s(x0)), neg(s(x1)))